package mc

import (
	"fmt"
	"gorm.io/gorm"
)

// 数据库连接集
var dbMap = map[string]*gorm.DB{}

//  添加一个数据库连接对象
func AppendDB(connName string, db *gorm.DB) (err error) {
	if connName == "" || db == nil {
		err = fmt.Errorf("不是有效的数据库连接名和数据库连接对象")
	} else {
		dbMap[connName] = db
	}
	return
}

//  获取一个数据库连接对象
func GetDB(connName string) (db *gorm.DB) {
	ok := false
	if db, ok = dbMap[connName]; ok {
		db = db.Session(&gorm.Session{}).Table("")
	} else {
		panic(ErrorInternalServerError.Copy(fmt.Sprintf("数据库连接项不存在[%s]", connName)))
	}
	return
}

// 检查数据库连接是否存在
func IsHasDB(connName string) (ok bool) {
	_, ok = dbMap[connName]
	return
}
